Due to the growing use of new end devices (like for example Smart phones) and more sophisticated applications running on those devices, the usage of data networks is currently increasing, especially in the area of mobile data networks. Subscribes start to use data services more frequently and for longer time intervals. Some of the applications running for example on Smart phones work in a similar way like applications for the fixed networks where data connections are always-on.
The changed subscriber behavior leads to changes in the pricing models offered by network operators, especially mobile network operators. Earlier dominating time and volume based tariffs do not fit to the changing subscriber needs anymore. Network operators are starting to offer flat-rate data subscriptions in a bigger scale allowing the subscribers to stay with their devices “always-on”. Always-on on connections are characterized by long periods where the connection is idle, traffic occurs only occasionally.
But flat-rate data subscriptions do not fit very well with the way how charging is implemented for example in mobile data networks today. Charging is optimized for short-lived sessions that are only active when there is user traffic. It was expected that longer idle periods occur only very rarely. As a result the subscribers will be charged for the whole time where a connection exists, even for the time where the connection is idle.
Charging is implemented based on Charging Data Records (CDRs) which include information about the connection to be charged. This kind of information can be for example connection starting and ending times, duration of a connection, used services, amount of transferred data, used Quality of Service (QoS), etc. . . . CDRs are generated frequently during the life time of a connection and are forwarded to the Billing Domain (BD). Even if a connection is idle for a longer time period (like for example in the case of always-on connections) CDRs are generated frequently and forwarded to the billing domain.
Due to the increasing offering of flat-rate subscriptions the amount of always-on connections grows rapidly, thus an increasing amount of connections starts to be idle for longer time periods. This leads to the situation that more and more CDRs are generated (due to the always-on connections using the present charging implementation which causes frequent CDR generation even if the connection is idle), resulting in an increased network load for transferring all those CDRs to the billing system. In addition network operators (for example Internet Service Providers (ISPs)) are nowadays forced by law to store connection related information for all their subscribers for a certain period of time. The more CDRs are generated per subscriber the more data must be stored.
If for example CDRs for each single connection are generated every 10 minutes, even if the connections are idle and there is nothing to report, this would mean for a large operator with about 10 Million idle connections all the time, 1.440 Million unnecessary CDRs per day loading the network of the operator and consuming storage capacity.
In consideration of the above, it is an object of the present invention to overcome one or more of the above drawbacks. In particular, the present invention provides methods, apparatuses, a system and a related computer program product for optimizing charging related traffic for always-on connections.
According to an example of the present invention, in a first aspect, this object is for example achieved by a method comprising:
detecting if the always-on connection is idle and
suspending a charging session related to the always-on connection if the always-on connection is idle without terminating the charging session.
According to further refinements of the example of the present invention as defined under the above first aspect, the method further comprises                the suspending is done by reducing the generation of charging data for the always-on connection during the detected idle period.        reducing the generation of charging data for the always-on connection during the detected idle period        suppressing of at least one charging trigger causing the generation of Charging Data Records (CDRs) related data.        the reducing comprises suppressing of at least one charging trigger causing the generation of Charging Data Records (CDRs) related data.        wherein the at least one charging trigger is at least one of a Quality of Service (QoS) change, Tariff time change, Cell Global Identifier (CGI) change, Service Area Identifier (SAI) change, Routing Area Identity (RAI) change and Packet data Protocol (PDP) context modification.        closing the currently open Charging Data Record (CDR) and not opening a new Charging Data Record (CDR) for the charging session related to the always-on connection when a start of the idle period is detected.        the suppressing results in closing the currently open Charging Data Record (CDR) and not opening a new Charging Data Record (CDR) for the charging session related to the always-on connection when a start of the idle period is detected.        if the suspending of the charging session starts generating an indication including at least one of a charging session suspended information, a time-stamp when the suspending of the charging session is started and a time-stamp when the always-on connection became idle.        if the suspending of the charging session ends generating an indication including at least one of charging session continued information and a time-stamp when the continuation of the charging session is started.        coding indications generated when the suspending of a charging session is started or when the continuation of the charging session is started in at least one Charging Data Record (CDR),        wherein the indications are coded in at least one of a Charging Data Record (CDR) specific fields (for example “Record opening time”, “Cause for record opening”, “Record closing time”, “Cause for record closing”, . . . ) and a Container specific fields (for example “Change time”, “Change condition”, . . . ) where the container is included in the Charging Data Record (CDR).        wherein the charging session is one of an offline charging session and an online charging session.        wherein the charging is related to connections in a mobile radio network.        
According to further refinements of the example of the present invention as defined under the above first aspect, the method further comprises                checking that no data is present on the always-on connection for a defined time period and ignoring during the checking special data present on the always-on connection,        that the detecting if the always-on connection is idle comprises checking that no data is present on the always-on connection for a defined time period and ignoring during the checking special data present on the always-on connection,        wherein the special data is data related to monitoring and controlling of the always-on connection or data related to monitoring and controlling of applications running over the always-on connection,        wherein the special data is at least one of ICMP messages, keep-alive messages and polling messages.        the method further comprises that the data on the always-on connection is user plane data transferred over a Packet Data Protocol (PDP) context.        
According to an example of the present invention, in a second aspect, this object is for example achieved by a method comprising:
extracting information from received charging data related to the always-on connection
detecting from the extracted information if a charging session related to the always-on connection is suspended.
According to further refinements of the example of the present invention as defined under the above second aspect,                the extracted information includes at least one of an indication if the charging session is suspended, a time-stamp when the suspending of the charging session is started, a time-stamp when the always-on connection related to the charging session became idle, an indication when the charging session is continued and a time-stamp when the continuation of the charging session related to the always-on connection is started.        wherein the time-stamp information is used to calculate time periods for at least one of a period where the always-on connection was idle and a time period where the charging session related to the always-on connection was suspended.        wherein the extracted information is used to calculate time periods for at least one of a time period where the always-on connection was idle and a time period where the charging session related to the always-on connection was suspended.        wherein the calculated time periods are not billed to the user of the always-on connection.        wherein the information is extracted from received Charge Data Records (CDRs).        wherein the information is extracted from at least one of a Charging Data Record (CDR) specific fields (for example “Record opening time”, “Cause for record opening”, “Record closing time”, “Cause for record closing”, . . . ) and a Container specific fields (for example “Change time”, “Change condition”, . . . ) where the container is included in the Charging Data Record (CDR).        wherein the charging session is one of an offline charging session and an online charging session.        wherein the charging is related to connections in a mobile radio network.        
According to an example of the present invention, in a third aspect, this object is for example achieved by an apparatus comprising:
means for detecting if the always-on connection is idle.
means for suspending a charging session related to the always-on connection if the always-on connection is idle without terminating the charging session.
According to further refinements of the example of the present invention as defined under the above third aspect,                the means for suspending initiates the reduction of charging data generated for the always-on connection during the detected idle period.        the reduction of charging data comprises suppressing of at least one charging trigger causing the generation of Charging Data Records (CDR) related data.        the at least one charging trigger is at least one of a Quality of Service (QoS) change, Tariff time change, Cell Global Identifier (CGI) change, Service Area Identifier (SAI) change, Routing Area Identity (RAI) change and Packet data Protocol (PDP) context modification.        the means for suspending initiating a closing of an open Charging Data Record (CDR) without opening a new Charging Data Record CDR for the always-on connection when a start of the idle period is detected.        if the suspending of the charging session starts an indication is generated including at least one of a charging session suspended information, a time-stamp when the suspending of the charging session is started and a time-stamp information when the always-on connection became idle.        if the suspending of the charging session ends an indication is generated including at least one of a charging session continued information and a time-stamp when the continuation of the charging session is started.        wherein the indications are generated in the Charging Trigger function (CTF).        the indications are coded in at least one Charging Data Record (CDR).        the indications are coded in at least one Charging Data Record (CDR) in a Charging Data Function.        the indications are coded in at least one of a Charging Data Record (CDR) specific fields (for example “Record opening time”, “Cause for record opening”, “Record closing time”, “Cause for record closing”, . . . ) and a Container specific fields (for example “Change time”, “Change condition”, . . . ) where the container is included in the Charging Data Record (CDR).        the coding is done in a Charging Data Function (CDF).        
According to further refinements of the example of the present invention as defined under the above third aspect,                the means for detecting if the always-on connection is idle detects that the always-on connection is idle by checking that no data on the always-on connection is present for a defined time period and by ignoring special data related to the always-on connection, where the special data is data related to monitoring and controlling of the always-on connection or data related to monitoring and controlling of applications running over the always-on connection.        the special data is at least one of ICMP messages, keep-alive messages and polling messages.        the data related to the always-on connection is user plane data transferred over a Packet Data Protocol (PDP) context.        the data on the always-on connection is user plane data transferred over a Packet Data Protocol (PDP) context.        
According to further refinements of the example of the present invention as defined under the above third aspect,                the device constitutes one of a Gateway General Packet Radio Service Support Node (GGSN), Serving General Packet Radio Service Support Node (SGSN), Media Gateway (MGW), Packet Data Gateway (PDG), Packet Data Switching Node (PDSN), Packet Data Network Gateway (PGW), Serving Gateway (SGW) and Broadband Remote Access Server (BRAS),/Broadband Network Gateway (BNG), Access Service Network Gateway (ASNGW)        the charging session is one of an offline charging session and an online charging session.        the charging is related to connections in a mobile radio network.        
According to an example of the present invention, in a fourth aspect, this object is for example achieved by an apparatus comprising:
means for extracting information from received charging data related to the always-on connection
means for detecting from the extracted information if a charging session related to the always-on connection is suspended.
According to further refinements of the example of the present invention as defined under the above fourth aspect,                the extracted information includes at least one of an indication if the charging session is suspended, a time-stamp when the suspending of the charging session is started, a time-stamp when the always-on connection related to the charging session became idle, an indication if the charging session is continued and a time-stamp when the continuation of the charging session related to the always-on connection is started.        the means for extracting information extracts the information from received Charging Data Records (CDR).        the information is extracted from at least one of a Charging Data Record (CDR) specific fields (for example “Record opening time”, “Cause for record opening”, “Record closing time”, “Cause for record closing”, . . . ) and a Container specific fields (for example “Change time”, “Change condition”, . . . ) where the container is included in the Charging Data Record (CDR).        the device further comprises a means for calculating from the extracted information at least one of a time period where the always-on connection was idle and a time period where the charging session related to the always-on connection was suspended.        the device further comprises a means for billing not billing the user of the always-on connection for at least one of the calculated time periods.        the device constitutes a Billing Support System (BSS).        the charging session is one of an offline charging session and an online charging session.        the charging is related to connections in a mobile radio network.        
According to an example of the present invention, in a fifth aspect, this object is for example achieved by a system for suspending a charging session of an always-on connection comprising:
an apparatus according to the above third aspects and
an apparatus according to the above fourth aspect.
According to an example of the present invention, in an sixth aspect, this object is for example achieved by a computer program product comprising code means for suspending a charging session of an always-on connection adapted to produce the steps of a method according to any one of the above first and second aspects, when run on a processing means or module.